<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8">
	<meta http-equiv="X-UA-Compatible" content="IE=edge">
	<title></title>
	<link rel="stylesheet" href="">
</head>
<body>
<script>
//递归
/*
函数体内部调用自身
必须加判断条件，通常是一种情况返回，另一种情况调用递归


function abc(){
	abc();
}
内嵌函数：function(){function(){}}
闭包：
function abc(){
	var a=100;
	return function(){
		return a*10;
	}
}
abc()()
*/

//例：求100以内数字的和
// function sum(n){
// 	var res=0
// 	for(var i=1;i<=n;i++){
// 		res+=i;
// 	}
// 	return res;
// }
// console.log(sum(100));

//1 + 2 + 3 + 4
//n=1   n+(n+1)+(n+2)+(n+3)...
//递归的做法

function sum(n){
	
	if(n<1){
		return 0;
	}
	return n+sum(n-1);
	// 100+sum(99)
	//100+99+sum(98)
	//100+99+98+sum(97)
	//100+99+....+1+0
}
console.log(sum(100))
console.log(i)
</script>
</body>
</html>